package org.dromara.system.service;

import org.dromara.system.domain.ZtVip;
import org.dromara.system.domain.vo.ZtVipVo;
import org.dromara.system.domain.bo.ZtVipBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * VIPService接口
 *
 * @author Lion Li
 * @date 2024-06-25
 */
public interface IZtVipService {

    /**
     * 查询VIP
     */
    ZtVipVo queryById(Long id);

    /**
     * 查询VIP列表
     */
    TableDataInfo<ZtVipVo> queryPageList(ZtVipBo bo, PageQuery pageQuery);

    /**
     * 查询VIP列表
     */
    List<ZtVipVo> queryList(ZtVipBo bo);

    /**
     * 新增VIP
     */
    Boolean insertByBo(ZtVipBo bo);

    /**
     * 修改VIP
     */
    Boolean updateByBo(ZtVipBo bo);

    /**
     * 校验并批量删除VIP信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 查询用户可交易的VIP列表
     * @return
     */
    List<ZtVipVo> userlist();
}
